# -*- coding: utf-8 -*-
"""
Created on Thu Jan  6 23:37:07 2022

@author: Administrator
"""

import pandas as pd
import numpy as np
import os
import Levenshtein

path = r'C:\Users\Administrator\Desktop\内部往来'
os.chdir(path)

df = pd.read_excel('内部往来最终.xls')

name_dict = {
    '省水利水电公司本部':'云南省水利水电工程有限公司',
    '三公司机关':'云南省水利水电工程有限公司第三公司',
    '一公司机关':'云南省水利水电工程有限公司第一分公司',
    '大理分公司机关':'云南省水利水电工程有限公司大理分公司',
    '贵州分公司机关':'云南省水利水电工程有限公司贵州分公司',
    '路桥分公司机关':'云南省水利水电工程有限公司路桥分公司',
    '服务分公司机关':'云南省水利水电工程有限公司服务分公司',
    }


df_source =pd.read_excel('内部往来最终.xls',names=['A', 'B', 'C', 'D', 'E'])
df_source = df_source[~(df_source['B'].isnull())]
df_source = df_source[~(df_source['A']=='主体帐簿累计')]
df_source = df_source[(df_source['D']=='借')|(df_source['D']=='贷')]

for key, value in name_dict.items():
    df_source['B'] = df_source['B'].map(lambda x:x.replace(key, value))
    df_source['C'] = df_source['C'].map(lambda x:x.replace(key, value))

项目辅助 = set(df_source['B'].unique())
客商 = set(df_source['C'].unique())
diff = 项目辅助 - 客商

res = []
for item in diff:
    same = [Levenshtein.jaro(item,x) for x in 客商]
    tmp_dict = {k:v for k,v in zip(客商,same)}
    sorted_dict = sorted(tmp_dict.items(),key = lambda x:x[1],reverse = True)
    res.append((item,sorted_dict[0][0]))

res_dict = {k:v for k,v in res}
